适配阿里云智能文档解析输出格式的文档切分,相比普通切分会有更好的效果。
前言
区别于普通markdown,阿里云智能问答解析输出结果为结合layout信息的特殊格式。文档切分用于对这种特殊格式实现文档切分,相比转成markdown的普通切分会有更好的效果。
快速调用
调用前准备
获取API-KEY:获取API-KEY。
代码示例
API-KEY设置
export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY
同步调用示例
import os
import logging
import json
import requests
DASHSCOPE_API_KEY = os.environ.get("DASHSCOPE_API_KEY", None)
if DASHSCOPE_API_KEY is None:
logging.error("DASHSCOPE_API_KEY is not set")
raise ValueError("DASHSCOPE_API_KEY is not set")
headers = {
"Content-Type": "application/json",
"Accept-Encoding": "utf-8",
"Authorization": "Bearer " + DASHSCOPE_API_KEY,
}
service_url = (
"https://dashscope.aliyuncs.com"
+ "/api/v1/indices/component/configed_transformations/spliter"
)
my_input = dict()
my_input["text"] = # 文档智能解析结果
my_input["file_type"] = "idp"
my_input["chunk_size"] = 512
my_input["overlap_size"] = 100
response = requests.post(
service_url, data=json.dumps(my_input), headers=headers
)
response_text = response.json()
同步调用输出
{
"chunkService": {
"chunkResult": [
{
"chunk_id": 1,
"content": "- 这是一段文本内容标题3- 这又是一段文本内容",
"hier_title": "标题2|>标题3",
"nid": "",
"table_desc": "",
"title": "标题2"
}
]
},
"ret": 0,
"session_id": 1703746646370
}
入参
参数名 | 说明 | 是否必传 | 数据类型 | 备注 |
text | 待处理的文本内容 | 是 | String | 阿里云智能文档解析结果,json格式 |
input_type | 输入文件格式 | 否 | String | 目前只支持idp |
separator | 分句标识符 | 否 | String | 默认 |,|,|。|?|!|\n|\?|\! |
chunk_size | chunk文本字符长度 | 否 | Int | 默认值500 |
overlap_size | chunk之间冗余文本长度 | 否 | Int | 默认值50 |
出参
名称 | 说明 | 数据类型 | 备注 |
chunkResult | 文档chunk处理后结果 | List of Dict | |
chunk_id | chunk编码 | Int | |
title | chunk短标题 | String | 如果该片段不存在title内容则为空 |
content | chunk content内容 | String | 如果改片段不存在content内容则为空 |
hier_title | chunk长标题 | String | 如果该片段不存在title内容则为空 |
nid | chunk片段对应智能文档解析的uniqueId | String | 当chunk对应多个元素时用“|”连接 当不存在ID时为空 |
table_desc | 表格描述增强 | String | chunk不包含表格时该字段为空;gen_table_desc未开启时该字段为空 |
parent | 父节点所在段落内容 | String | 当前chunk所在4倍chunk_size内容 |
文档内容是否对您有帮助?